import { FormatPainLogsType, HeadMapITF, PainLogITF } from '@INTERFACES/PainLog'
import { PatientITF } from '@INTERFACES/Patient'
import { TagITF } from '@INTERFACES/Tag'
import { ConsultationDataITF } from '@INTERFACES/SmartAssistant'
import { CustomI18NITF } from '@INTERFACES/Common'

export interface PatientStateITF {
  latestPainLog: PainLogITF | null
  painLogPatient?: PatientITF
  defaultPatient: PatientITF
  myPatients: PatientITF[]
  formatPainLogs: FormatPainLogsType
  painLogs: PainLogITF[]
  loadingPainLogs: boolean
  headMap: HeadMapITF | null
  myPatientsLoading: boolean
  currentHistoryTags: TagITF[]
  selectedCurrentHistoryTags: TagITF[]
  submitLoading: boolean
  myPatientsAndRegistrationStatus: PatientITF[]
  loadingMyPatientsAndStatus: boolean
  myConsultationsWithTotal: ConsultationDataITF
  diagnosis: TagITF[]
  painLocations: string[]
  painHeadSites: string[]
  painOverallLevel: number
  painActivityLevel: number
  painConcomitantSymptom: string[]
  painTriggers: string[]
  painRelief: string[]
  painTreatments: string[]
  painMedications: CustomI18NITF[]
  painMood: string[]
  painSleep: string
  painOther: string
  reliefText: string
  triggerText: string
  treatmentText: string
  moodText: string
  concomitantSymptomText: string
  symptomText: string
  painSymptoms: string[]
  painAuras: string[]
  painFrequency: number
  painTotalTimeMinute: number
  auraText: string
  painLogId?: string
  showCreateLog: boolean
  dateBucket?: string
  painSessions: string[]
}
